package com.sgx.learning.luban.data_structure;

/**
 * 定义：
 * 1、每个结点要么红要么黑
 * 2、不可能有连在一起的红色结点
 * 3、根结点是黑色
 * 4、红色结点的子结点是黑色
 * 5、根结点到叶子结点路径上的黑色数量相等
 *
 *
 * 旋转和变色规则
 * 变色规则：父亲是红色，且它的祖父结点的另外一个子结点也是红色。
 *      (1)把父亲结点设为黑色
 *      (2)把叔叔也设为黑色
 *      (3)把祖父结点设为红色
 *      (4)把指针定义到祖父结点设为当前要操作的
 *
 * 左旋：当前结点是红色，叔叔结点是黑色，且当前的结点是右子树，
 *      (1)以父结点作为左旋
 *
 * 右旋：当前结点是红色，叔叔结点是黑色，且当前的结点是左子树
 *      (1)把父结点变为黑色
 *      (2)把祖父结点变为红色
 *      (3)以祖父结点旋转
 */
public class RedTree {



}
